html {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    height: 100vh;
}

body {
    display: flex;
    flex-direction: column;
    /* padding: 20px; */
    margin: 0;
    width: 100%;
    /* height: calc(100vh - 52px); */
    box-sizing: border-box;
}
header {
    /* flex: 0 0 0%; */
    height: 100px;
}
main {
    /* flex: 0 0 0%; */
    height: 100px;
}
footer {
    /* flex: 0 0 0%; */
    flex: 0 0 calc(100vh - 200px);
    overflow: auto;
    border: 1px solid red;
}

#pack {
    height: 900px;
    background-color: rebeccapurple;
}